﻿namespace PrearrangedChaos.AgileZen.Service
{
    internal class StoryFilter : IStoryFilter
    {
        public IBooleanFilter Blocked { get; private set; }
        public IColorFilter Color { get; private set; }
        public IIntegerStringFilter Creator { get; private set; }
        public ITextFilter Details { get; private set; }
        public IIntegerFilter Id { get; private set; }
        public IIntegerStringFilter Owner { get; private set; }
        public IIntegerStringFilter Phase { get; private set; }
        public IBooleanFilter Ready { get; private set; }
        public IStringFilter ReasonBlocked { get; private set; }
        public IStringFilter Size { get; private set; }
        public IStringFilter Tag { get; private set; }
        public ITextFilter Text { get; private set; }

        public StoryFilter()
        {
            this.Blocked = new BooleanFilter("blocked");
            this.Color = new ColorFilter("color");
            this.Creator = new IntegerStringFilter("creator");
            this.Details = new TextFilter("details");
            this.Id = new IntegerFilter("id");
            this.Owner = new IntegerStringFilter("owner");
            this.Phase = new IntegerStringFilter("phase");
            this.Ready = new BooleanFilter("ready");
            this.ReasonBlocked = new StringFilter("reasonBlocked");
            this.Size = new StringFilter("size");
            this.Tag = new StringFilter("tag");
            this.Text = new TextFilter("text");
        }
    }
}